package File;

import java.io.*;
import java.util.Scanner;

//进行普通文件的复制
public class Demo13 {
    //输入源文件和目标文件，源文件为等待复制的文件，目标文件为复制成的文件
    public static void main(String[] args) throws IOException {
        Scanner scanner = new Scanner(System.in);
        //输入源文件和目标文件
        System.out.println("请输入需要进行复制的源文件路径：");
        String sourcePath = scanner.next();
        File sourceFile = new File(sourcePath);
        System.out.println("请输入复制成的目标文件：");
        String targetPath = scanner.next();
        File targetFile = new File(targetPath);
        //判断输入文件是否合法
        if (!sourceFile.isFile()){
            System.out.println("输入的源文件不合法！");
        }
        if (!targetFile.getParentFile().isDirectory()){
            System.out.println("输入的目标文件目录不合法！");
        }
        //读取源文内容并复制给目标文件
        try(InputStream inputStream = new FileInputStream(sourceFile);
            OutputStream outputStream = new FileOutputStream(targetFile)){
            //读源文件
            while(true){
//                byte[] b = new byte[1024];
                byte[] b = new byte[2048];
                int n = inputStream.read(b);
                System.out.println("n:" + n);
                if (n == -1){
                    System.out.println("读到eof了，文件读取结束");
                    break;
                }
                //复制到目标文件中去
                outputStream.write(b,0,n);
            }
        }

    }
}
